Giuseppe Scrivano [Wed, 27 May 2015 08:12:11 +0000 (10:12 +0200)]
pull: verify summary signatures also when not mirroring
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Matthew Barnes [Sun, 7 Jun 2015 19:20:14 +0000 (15:20 -0400)]
ostree: Add a "remote refs" command
Works like "ostree refs" but fetches refs from a remote repo.
This depends on the remote repo having a summary file, but any repo
being served over HTTP *ought* to have one.
Matthew Barnes [Sun, 7 Jun 2015 17:41:04 +0000 (13:41 -0400)]
repo: Add ostree_repo_remote_fetch_summary()
Reusable method for fetching a summary file and signatures.
Matthew Barnes [Wed, 10 Jun 2015 19:40:42 +0000 (15:40 -0400)]
metalink: Return requested file as a GBytes
This may not be the best idea for general usage, but the only use case
for metalinks currently is fetching a summary file and those are pretty
small. Far more convenient to return the file content in a GBytes.
Matthew Barnes [Wed, 10 Jun 2015 18:37:42 +0000 (14:37 -0400)]
metalink: Allow NULL for "out" params in metalink requests
Caller may not be interested in all the outbound params, particularly
"fetching_sync_uri".
Matthew Barnes [Sat, 6 Jun 2015 20:47:15 +0000 (16:47 -0400)]
repo: Redo ostree_repo_remote_get_url()
Make it work like in ostree_repo_pull_with_options(), handling "file://"
remotes and inheriting the "url" option from parent repos if needed.
Matthew Barnes [Sat, 6 Jun 2015 20:32:45 +0000 (16:32 -0400)]
repo: Handle "file" remotes in ostree_repo_remote_get_gpg_verify()
Matthew Barnes [Sat, 6 Jun 2015 19:52:44 +0000 (15:52 -0400)]
repo: Add _ostree_repo_get_remote_option_inherit()
Split out from ostree-repo-pull.c. Still private but more reusable now.
Matthew Barnes [Fri, 5 Jun 2015 20:39:11 +0000 (16:39 -0400)]
repo: Add _ostree_repo_remote_new_fetcher()
Creates and configures an OstreeFetcher instance for a given remote.
Split out from ostree_repo_pull_with_options().
Matthew Barnes [Thu, 18 Jun 2015 21:58:13 +0000 (17:58 -0400)]
diff: Fix adding CLI options twice
Colin Walters [Tue, 16 Jun 2015 01:09:37 +0000 (21:09 -0400)]
tests/metalink: Add a case with nested unknown elements
Matthew Barnes [Sun, 14 Jun 2015 19:33:22 +0000 (15:33 -0400)]
metalink: Fix behavior when requested file is not found
The state machine's "passthrough_previous" field never got set, so the
machine gets put back into the wrong state after a passthrough phase.
Couple other minor issues around error handling.
Dan Nicholson [Mon, 8 Jun 2015 17:11:11 +0000 (10:11 -0700)]
pull-local: Support --depth option
Like pull, allow pull-local to mirror another another repository by
specifying how many parents to traverse.
https://bugzilla.gnome.org/show_bug.cgi?id=750581
Giuseppe Scrivano [Fri, 12 Jun 2015 11:10:02 +0000 (13:10 +0200)]
tests/test-pull-mirror-summary.sh: remove empty newline
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Fri, 12 Jun 2015 07:43:34 +0000 (09:43 +0200)]
autogen.sh: fix typo
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Matthew Barnes [Fri, 5 Jun 2015 16:45:41 +0000 (12:45 -0400)]
repo: Change GPG verification policy
The global keyring directory (trusted.gpg.d) is deprecated. Only use it
when a specified remote does NOT have its own keyring, or when verifying
local repository objects.
Note, because mixing in the global keyring directory is now an explicit
choice, OstreeGpgVerifier no longer needs to implement GInitableIface.
John Hiesey [Wed, 6 May 2015 23:43:06 +0000 (16:43 -0700)]
Fix double free in ostree_repo_pull_with_options
Duplicate the commit checksum for expected_commit_sizes since it's also
used as a value in requested_refs_to_fetch.
https://bugzilla.gnome.org/show_bug.cgi?id=750366
Dan Nicholson [Wed, 3 Jun 2015 20:02:41 +0000 (13:02 -0700)]
Revert "tests: skip test-commit-sign.sh when not root"
This reverts commit
d3545b0661f3247cd8c106e64a71052ce9952243. Since the
test is now using the temporary copy of the gpg homedir, it is no longer
owned by root.
Dan Nicholson [Wed, 3 Jun 2015 19:54:36 +0000 (12:54 -0700)]
tests: Use temporary gpg homedir
libtest always makes a copy of the gpghome directory to the test
directory, so there's no need to operate on the installed copy. This
allows test-remote-gpg-import to pass as an unprivileged user since it
otherwise couldn't create the temp files gpgme creates.
Dan Nicholson [Wed, 3 Jun 2015 19:34:37 +0000 (12:34 -0700)]
tests: Use readdir64 when _FILE_OFFSET_BITS set
On 32 bit systems, _FILE_OFFSET_BITS will be set to 64 by
AC_SYS_LARGEFILE. This causes the glibc headers to use readdir64 rather
than readdir. Emulate that behavior in the preloader or the tests will
all fail with "No such file or directory".
Dan Nicholson [Tue, 12 May 2015 22:48:22 +0000 (15:48 -0700)]
tests: Link test-gpg-verify-result with gpgme
This test uses gpgme directly to verify the signatures, so it needs to
find the gpgme headers and link with gpgme to ensure the linker can
resolve the symbols.
John Hiesey [Wed, 6 May 2015 23:41:55 +0000 (16:41 -0700)]
Fix tests on 32 bit systems
Use guint64 when the 't' format is used for GVariant
Matthew Barnes [Thu, 28 May 2015 20:25:51 +0000 (16:25 -0400)]
gpg: Gracefully handle no trusted.gpg.d directory
This is a deprecated fallback method anyway. We prefer
remote-specific keyrings now.
https://bugzilla.gnome.org/750049
Colin Walters [Tue, 2 Jun 2015 16:59:48 +0000 (12:59 -0400)]
Release 2015.7
Colin Walters [Tue, 2 Jun 2015 16:38:26 +0000 (12:38 -0400)]
tests/remote-gpg-import: Only commit workdir
Just noticed this while debugging something else. We don't want to
commit the whole test dir, just the workdir.
Trying to commit the repo itself is potentially subject to race
conditions at least.
Colin Walters [Tue, 2 Jun 2015 02:34:14 +0000 (22:34 -0400)]
tests: Run all tests through a randomized readdir()
Having undefined (but in practice rarely changing) ordering for
`readdir()` ended up screwing us over for bootloader config
generation; see https://bugzilla.redhat.com/show_bug.cgi?id=
1226520
Let's make things significantly more likely to fail more quickly in
the future if similar bugs are introduced. We accomplish this by
introducing a little `LD_PRELOAD` library that randomizes the results
of `readdir()`.
Colin Walters [Tue, 2 Jun 2015 16:02:24 +0000 (12:02 -0400)]
Revert "tests: Run all tests through a randomized readdir()"
Unintentionally pushed.
This reverts commit
ce49264157f9005e664557613cbbf67f54174682.
Colin Walters [Mon, 1 Jun 2015 22:40:44 +0000 (18:40 -0400)]
tests: Add a test-pull-summary-sigs
This is intended to cover non-mirroring usage of GPG + summary +
deltas.
Colin Walters [Mon, 1 Jun 2015 22:40:04 +0000 (18:40 -0400)]
repo: Don't crash when creating a summary if we have --empty deltas
Colin Walters [Mon, 1 Jun 2015 22:15:42 +0000 (18:15 -0400)]
tests: Add a commented out test for mirroring with deltas
Colin Walters [Mon, 1 Jun 2015 20:56:19 +0000 (16:56 -0400)]
pull: Validate delta checksums more strongly
We need to check that it's 'ay'. Also reuse the existing validation
function to check it's 32 bytes rather than potentially crashing with
assertion.
Just noticed this during a code review.
Colin Walters [Mon, 1 Jun 2015 21:39:39 +0000 (17:39 -0400)]
pull: Ensure console state for multiple GPG verification messages
If there are multiple signatures to verify, we would attempt to
display them multiple times, but we can only call
`gs_console_end_status_line()` if the console has been enabled.
Ensure we turn back on the console after printing our status. This
will result in extra newlines, but fixing that cleanly would require a
saner GSConsole API.
Colin Walters [Tue, 2 Jun 2015 02:34:14 +0000 (22:34 -0400)]
tests: Run all tests through a randomized readdir()
Having undefined ordering (but in practice rarely changing)
ordering for `readdir()` ended up screwing us over with respect
to bootloader config file read ordering.
Let's make things significantly more likely to fail more quickly in
the future if similar bugs are introduced. We accomplish this by
introducing a little `LD_PRELOAD` library that randomizes the results
of `readdir()`.
Colin Walters [Thu, 28 May 2015 00:08:44 +0000 (20:08 -0400)]
tests: Add a crosscheck for syslinux bootloader config generation
And actually wire this one up in admin-test.sh.
Colin Walters [Wed, 27 May 2015 02:28:29 +0000 (22:28 -0400)]
tests: Add a test script to cross-check loader config vs GRUB2
One can run this on a machine to validate things. I'd like to
get this plugged into the actual OSTree tests as soon as we can
figure out how to sanely run grub2-generate as non-root in
our test suite.
Alternatively, this script can easily be run on a real install.
Colin Walters [Tue, 26 May 2015 22:46:47 +0000 (18:46 -0400)]
sysroot: Sort returned boot loader configs
I haven't done a full dig through the history, but it seems quite
possible right now we've been relying on inode enumeration
order for generating bootloader configuration.
Most of the time, newer inodes (i.e. later written files) will win.
But that's obviously not reliable.
Fix this by sorting the returned configuration internally.
Jeff Ortel [Tue, 26 May 2015 16:17:28 +0000 (11:17 -0500)]
Fix annotations on ostree_repo_remote_gpg_import().
Giuseppe Scrivano [Tue, 19 May 2015 09:12:14 +0000 (11:12 +0200)]
ostree-repo: document OSTREE_REPO_COMMIT_MODIFIER_FLAGS_GENERATE_SIZES
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Colin Walters [Fri, 15 May 2015 12:51:47 +0000 (08:51 -0400)]
admin: Ensure instutil commands and usage help don't grab lock
When I was introducing the `_UNLOCKED` flag, I only audited
subcommands of `ostree admin`, but I missed that `ostree admin
instutil` also used the option parsing. Those are only used by
Anaconda today so we can ignore them for locking purposes.
Also, the usage help generation was grabbing the lock unnecessarily.
Matthew Barnes [Thu, 14 May 2015 16:44:36 +0000 (12:44 -0400)]
repo: Prevent GPG keys from being imported to keybox format
If a remote keyring does not already exist, create an empty pubring.gpg
file in the temporary directory prior to importing keys. This prevents
gpg2 from creating a pubring.kbx file in the new keybox format [1]. We
want to stay with the older keyring format since its performances issues
are not relevant here.
[1] https://gnupg.org/faq/whats-new-in-2.1.html#keybox
Colin Walters [Thu, 14 May 2015 01:59:17 +0000 (21:59 -0400)]
repo: Bump mtime any time we write a ref
External daemons like rpm-ostree want push notification any time a
change is made by an external entity. inotify provides notification,
but a problem is there's no easy way to monitor all of the refs.
In the past, there has been discussion of opt-in recursive timestamps:
https://lkml.org/lkml/2013/4/5/307
But in today's world, let's just bump the mtime on the repo itself, as
a central inotify point.
Closes: https://github.com/GNOME/ostree/pull/111
Giuseppe Scrivano [Thu, 14 May 2015 07:56:00 +0000 (09:56 +0200)]
ostree-repo: replace more gs_unref_(variant|bytes) with g_autoptr
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Colin Walters [Thu, 14 May 2015 02:17:26 +0000 (22:17 -0400)]
test-basic: Always chown back before doing assertion
Sometimes I rerun the tests for debugging in the same directory, and
having it be not writable breaks `rm * -rf`.
Colin Walters [Thu, 14 May 2015 02:11:39 +0000 (22:11 -0400)]
tests: Fix writable repo test
When I removed the `transaction` symlink, that made this test start
failing. Fix it by doing `chmod` on `repo/objects`, which is what the
core `ostree_repo_is_writable()` looks at.
Colin Walters [Wed, 13 May 2015 20:48:09 +0000 (16:48 -0400)]
admin: Use locking for most sysroot commands
The previous commit introduced locking for `ostree admin deploy`, but
we do expect people to possibly accidentally do e.g.
`ostree admin upgrade` concurrently.
Using consistent locking in the admin commands will help rpm-ostree.
Closes: https://github.com/GNOME/ostree/pull/110
Matthew Barnes [Thu, 7 May 2015 17:42:19 +0000 (13:42 -0400)]
tests: Add test-remote-gpg-import.sh
Matthew Barnes [Sat, 9 May 2015 13:50:24 +0000 (09:50 -0400)]
ostree: Add --gpg-import to the "remote add" command
Convenience option imports GPG keys for a newly-created remote.
Matthew Barnes [Fri, 1 May 2015 13:09:42 +0000 (09:09 -0400)]
ostree: Add a "remote gpg-import" command
Imports GPG keys into a remote-specific keyring.
Matthew Barnes [Fri, 1 May 2015 19:38:08 +0000 (15:38 -0400)]
repo: Add remote's keyring during GPG verification
This is pretty fugly but it at least avoids new public API.
Matthew Barnes [Tue, 28 Apr 2015 17:26:00 +0000 (13:26 -0400)]
repo: Add ostree_repo_remote_gpg_import()
Imports one or more GPG keys from a source stream or from the user's
personal keyring into a remote-specific keyring. The keys to import
can optionally be restricted by a list of key IDs.
The imported keys are used to conduct GPG verification when pulling
from the given remote.
Matthew Barnes [Fri, 1 May 2015 14:06:24 +0000 (10:06 -0400)]
repo: Delete a remote's keyring when deleting a remote
Matthew Barnes [Tue, 28 Apr 2015 17:32:32 +0000 (13:32 -0400)]
repo: Stash keyring name in OstreeRemote
Giuseppe Scrivano [Tue, 12 May 2015 07:48:43 +0000 (09:48 +0200)]
maint.mk: Remove GNU releases specific bits
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Tue, 12 May 2015 07:41:44 +0000 (09:41 +0200)]
syntax-check: add syntactic rule to prohibit gs_strfreev
and fix an instance.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Tue, 12 May 2015 07:39:13 +0000 (09:39 +0200)]
syntax-check: add syntactic rule to prohibit gs_unref_*
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Tue, 12 May 2015 08:57:03 +0000 (10:57 +0200)]
tests: add new test for pull --disable-static-deltas
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Tue, 12 May 2015 08:39:37 +0000 (10:39 +0200)]
doc: add missing options block for pull
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Tue, 12 May 2015 08:15:30 +0000 (10:15 +0200)]
pull: add new switch option --disable-static-deltas
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Tue, 12 May 2015 08:06:56 +0000 (10:06 +0200)]
ostree-repo-pull: add option to disable static-deltas
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Colin Walters [Thu, 7 May 2015 02:19:05 +0000 (22:19 -0400)]
sysroot: Add a try_lock() API
The blocking locking API wasn't sufficient for use in the rpm-ostree
daemon; it really wants to know if the lock is held, then continue to
do other things (like service DBus requests), and get notification
when the lock is available.
We also add an async variant that can be called if the lock is not
available.
Implement a higher level "loop until lock is available" method in the
`ostree admin` commandline.
Matthew Barnes [Thu, 7 May 2015 21:50:22 +0000 (17:50 -0400)]
repo: Simplify sign_data() a little
Use ot_gpgme_data_output() to wrapper a GOutputStream.
Matthew Barnes [Thu, 7 May 2015 21:02:37 +0000 (17:02 -0400)]
gpg: Add custom data buffers to wrapper GIO streams
ot_gpgme_data_input() and ot_gpgme_data_output(), shamelessly ripped
off from seahorse_gpgme_data_input() and seahorse_gpgme_data_output().
Matthew Barnes [Thu, 7 May 2015 20:02:39 +0000 (16:02 -0400)]
gpg: Fix ot_gpgme_error_to_gio_error()
Need to extract the error code from a gpgme_error_t, can't just compare
it directly.
Giuseppe Scrivano [Thu, 7 May 2015 19:59:30 +0000 (21:59 +0200)]
ot-fs-utils: remove empty line at EOF
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Mon, 4 May 2015 09:05:23 +0000 (11:05 +0200)]
summary: delete summary.sig on an update
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Thu, 30 Apr 2015 07:36:27 +0000 (09:36 +0200)]
tests: add a test for signed summary file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Wed, 29 Apr 2015 13:24:28 +0000 (15:24 +0200)]
pull: verify signature for the summary file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Wed, 29 Apr 2015 09:43:17 +0000 (11:43 +0200)]
summary: add new command line arguments to sign the summary file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Sun, 3 May 2015 20:40:27 +0000 (22:40 +0200)]
ostree-repo: add new API to sign the summary file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Tue, 28 Apr 2015 16:47:21 +0000 (18:47 +0200)]
pull: get rid of detached metadata for deltas
Once the summary file will be signed, we can validate the superblock
from there.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Tue, 28 Apr 2015 16:45:11 +0000 (18:45 +0200)]
pull: check that the superblock checksum is the same as in the summary
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Tue, 28 Apr 2015 15:46:18 +0000 (17:46 +0200)]
core: store information about delta files checksums
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Tue, 28 Apr 2015 15:45:37 +0000 (17:45 +0200)]
core: new function _ostree_parse_delta_name
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Mon, 27 Apr 2015 18:31:05 +0000 (20:31 +0200)]
summary: list the available static deltas
Write the information in the additional_metadata element for backward
compatibility.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Thu, 7 May 2015 09:13:43 +0000 (11:13 +0200)]
trivial-httpd: add option to specify the port
I use the trivial httpd server locally. Each time I restart the
server, I end up modifying manually the config file for other repos so
to point to the correct port. In this way I can just re-use the same
port.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Giuseppe Scrivano [Thu, 7 May 2015 09:09:17 +0000 (11:09 +0200)]
trivial-httpd: fix indentation
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Matthew Barnes [Tue, 5 May 2015 16:14:39 +0000 (12:14 -0400)]
Remove unnecessary #include "libgsystem.h"
Matthew Barnes [Tue, 5 May 2015 16:13:09 +0000 (12:13 -0400)]
Use g_auto(GStrv) instead of gs_strfreev
Matthew Barnes [Tue, 5 May 2015 15:48:15 +0000 (11:48 -0400)]
Use g_autoptr(GVariantBuilder) instead of gs_unref_variant_builder
Matthew Barnes [Tue, 5 May 2015 15:47:07 +0000 (11:47 -0400)]
Use g_autoptr(GKeyFile) instead of gs_unref_keyfile
Matthew Barnes [Tue, 5 May 2015 15:45:46 +0000 (11:45 -0400)]
Use g_autoptr(GVariant) instead of gs_unref_variant
Matthew Barnes [Tue, 5 May 2015 15:44:40 +0000 (11:44 -0400)]
Use g_autoptr(GPtrArray) instead of gs_unref_ptrarray
Matthew Barnes [Tue, 5 May 2015 15:43:31 +0000 (11:43 -0400)]
Use g_autoptr(GHashTable) instead of gs_unref_hashtable
Matthew Barnes [Tue, 5 May 2015 15:41:50 +0000 (11:41 -0400)]
Use g_autoptr(GBytes) instead of gs_unref_bytes
Matthew Barnes [Tue, 5 May 2015 15:38:16 +0000 (11:38 -0400)]
Use g_autoptr(GChecksum) instead of gs_free_checksum
Matthew Barnes [Tue, 5 May 2015 14:33:53 +0000 (10:33 -0400)]
Use glnx_unref_object instead of gs_unref_object
For non-GIO object types, at least until autocleanup support for GObject
based types becomes more widespread.
Matthew Barnes [Mon, 4 May 2015 22:22:39 +0000 (18:22 -0400)]
Use g_autoptr() for GIO object types
GLib 2.44 supplies all the necessary autocleanup macros for GIO types,
and libglnx backports the relevant macros for ostree.
Matthew Barnes [Mon, 4 May 2015 21:58:26 +0000 (17:58 -0400)]
Use g_autofree instead of gs_free
Matthew Barnes [Mon, 4 May 2015 22:08:49 +0000 (18:08 -0400)]
Juggling libglnx.h includes
Matthew Barnes [Tue, 5 May 2015 21:41:13 +0000 (17:41 -0400)]
gpg: Add ostree_gpg_verify_result_describe_variant()
Needed for printing signature details in places where
OstreeGpgVerifyResult cannot go.
Colin Walters [Mon, 4 May 2015 16:46:32 +0000 (12:46 -0400)]
repo: Stop creating "transaction" symlink
This originally was a way that we detected the case where a pull was
interrupted. Later, we added `.commitpartial` files which also cover
this case.
See also https://github.com/GNOME/ostree/pull/85
We still want to honor their existence (and unlink them) in case an
old version of ostree was in use, but I believe it's safe to stop
creating them now.
The only case where this would break is if you have a version of
ostree that predates commitpartial in your rollback history, but such
old versions are no longer in use by operating systems I support at
least.
Closes: https://github.com/GNOME/ostree/pull/100
Matthew Barnes [Wed, 6 May 2015 14:28:31 +0000 (10:28 -0400)]
libglnx: Pick up bugfix and backports
Need more autocleanup backports for GIO types.
Colin Walters [Mon, 6 Apr 2015 18:19:08 +0000 (14:19 -0400)]
Teach fsck about partial commits
An OSTree user noticed that `ostree fsck` would produce `missing
object` errors in the case of interrupted pulls.
It's possible to do e.g. `ostree pull --subpath=/usr/share/rpm ...`,
which gets you just that portion of the commit. The use case for this
was being able to see what changes would appear in an update before
actually downloading all of it.
(I think this would be better covered by static deltas, but those
aren't final yet, and `--subpath` predates it)
Further, `.commitpartial` is used as a successor to the `transaction`
symlink for more precise knowledge in the case where a pull was
interrupted that we needed to resume scanning.
So it makes sense for `ostree fsck` to be aware of it.
Colin Walters [Sun, 5 Apr 2015 18:07:03 +0000 (14:07 -0400)]
core: Cleanup commitpartial file with fd-relative lookups
First, this is just a general continuation of the `GFile -> openat`
transition.
Second, it's preparatory work for fsck to gain awareness of partial
commits.
Giuseppe Scrivano [Tue, 5 May 2015 14:28:11 +0000 (16:28 +0200)]
doc: remove unknown parameter from inline documentation
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Matthew Barnes [Tue, 5 May 2015 14:24:38 +0000 (10:24 -0400)]
repo: Fix an obvious typo
Giuseppe Scrivano [Tue, 5 May 2015 14:20:18 +0000 (16:20 +0200)]
libglnx: fix reference to commit
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Colin Walters [Mon, 4 May 2015 22:35:52 +0000 (18:35 -0400)]
sysroot: Add an API to lock
If a system administrator happens to type `ostree admin upgrade`
multiple times, currently that will lead to a potentially corrupted
system.
I originally attempted to do locking *internally* in `libostree`, but
that didn't work out because currently a number of the commands
perform multi-step operations that all need to be serialized. All of
the current code in `ostree admin deploy` is an example.
Therefore, allow callers to perform locking, as most of the higher
level logic is presently implemented there.
At some point, we can revisit having internal locking, but it will be
difficult. A more likely approach would be similar to Java's approach
with concurrency on iterators - a "fail fast" method.
Matthew Barnes [Mon, 4 May 2015 16:00:54 +0000 (12:00 -0400)]
Fix build when using GLib < 2.44
Giuseppe Scrivano [Tue, 28 Apr 2015 09:56:53 +0000 (11:56 +0200)]
pull: the commit size in the summary is not for the detached metadata
Use the size specified in the summary file only for the not detached
metadata.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>